草庐IT

bool 值的 C++ 短路

全部标签

c# - .NET/C# 中是否内置了用于在对象之间复制值的内容?

假设您有2个这样的类:publicclassClassA{publicintX{get;set;}publicintY{get;set;}publicintOther{get;set;}}publicclassClassB{publicintX{get;set;}publicintY{get;set;}publicintNope{get;set;}}现在假设您有每个类的一个实例,并且您想要将值从a复制到b。是否有像MemberwiseClone这样的东西可以复制属性名称匹配的值(当然是容错的——一个有一个get,另一个有一个set,等等)?vara=newClassA();varb=n

c# - 仅来自 boolean 值的 GetHashCode()

我有一个不可变类,它的唯一字段是bool[](大小在运行时确定)。如何计算此类的良好哈希码?通常我会在每个字段上调用​​GetHashCode(),并将它们与以下运算符之一组合:+|&,但由于唯一可能的哈希码是0代表false和1代表true,那不会真的让我到任何地方。我的实现只需要使用bools,并且必须适用于任意大小的数组。(可能无关紧要,但我正在使用C#/.NET进行编码。) 最佳答案 假设您的bool[]被命名为bools:unchecked{inthash=17;for(intindex=0;index

c# - &&= 在 C# 中? ( bool 表达式)

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Whyarethereno||=or&&=operators?今天偶然发现a&=GetBool();不一样a=a&&GetBool();多年来我一定误解了这一点。在第一个示例中,即使“a”为假,“GetBool()”也会执行。在第二个中,它不是。有什么可以在C#中实现类似“&&=”的东西吗?

C# - 在声明中设置初始值的缺点

这样的类(class)有什么缺点吗:classExample1{protectedstringUserId=(string)Session["user"];}//versusclassExample2{protectedstringUserId;publicExample2(){UserId=(string)Session["user"];}}如果我一直想设置这个值,Example1有什么缺点吗?更新:Session["user"]在Global.asaxSession_Start中设置。所以如果这失败了。无论如何都不应该起作用。 最佳答案

c# 将字符串表达式转换为 bool 表达式

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭3年前。Improvethisquestion是否可以将字符串表达式转换为bool条件?例如,我得到以下字符串:varb="3220"我想从中创建一个bool表达式并调用它。字符串表示也很灵活(让它更有趣),所以它允许||,&&,()。

c# - 非短路 bool 运算符和 C# 7 模式匹配

我目前正在编写一个C#应用程序,目标是.NET4.7(C#7)。在尝试使用使用“is”关键字声明变量的新方法后,我感到很困惑:if(变量是MyClassclassInstance)这样就可以了,但是在做的时候:if(true&variableisMyClassclassInstance){vara=classInstance;}VisualStudio(我使用的是2017)向我显示错误Useofunassignedlocalvariable'classInstance'。使用&(&&)的短路版本它工作正常。我是否遗漏了有关&运算符的内容?(我知道使用短路版本更常用,但此时我只是好奇)

c# - MSTest 显示复合 bool 表达式的部分代码覆盖率

从Microsoft的文档中,部分覆盖的代码是“......行内的一些代码块未执行。”我对这个代码感到很困惑(为简洁起见进行了简化):给定这个方法:publicListCodeUnderTest(){varcollection=newList{"test1","test2","test3"};returncollection.Where(x=>x.StartsWith("t")&&x=="test2").ToList();}这个测试:[TestMethod]publicvoidTest(){varresult=newClass1().CodeUnderTest();Collection

c# - 获取任何枚举值的扩展方法

我一直在尝试创建一个扩展方法,该方法适用于任何枚举,以返回其值。而不是这样做:Enum.GetValues(typeof(BiasCode)).Cast()这样做会很好:newBiasCode().Values()如果没有new会更好,但那是另一个问题。我有一个.NETfiddle有一个接近的解决方案(代码如下所示)。此代码的问题在于扩展方法返回List.我想让它返回枚举值本身的列表。返回List并不可怕;这只是意味着我必须转换结果。这有可能吗?我尝试使扩展方法通用,但遇到了问题。这是我所能得到的最接近的结果:usingSystem;usingSystem.Linq;usingSyst

c# - 存储用户设置——使用 "Flags"或 "Bits"而不是一堆 bool 值有什么问题吗?

我正在为我的MVC应用程序设计用户设置,现在我有大约20个用户可以切换的bool值设置。由于每个用户将始终拥有每个设置,因此我正在考虑将每个设置作为bool值存储在用户表中。尽管随着应用程序需求的增长,这会变得笨拙。第一个问题-在这种情况下,在您的表格上放置大量列有什么问题吗?然后我考虑使用标志,并将设置存储为一个数组中的每个位:[Flags]publicenumSettings{WantsEmail=1,WantsNotifications=2,SharesProfile=4,EatsLasagna=8}然后每个用户在他们的用户行中将有一个“设置”列,如果有20个设置,该列存储一个2

c# - 当结构包含 bool 时如何将 GCHandle 分配给结构

我一直在尝试创建一个结构类型的句柄,因为我需要一个指向它的固定指针,但我收到错误“对象包含非原始数据或非blittable数据”我的结构是这样的:[StructLayout(LayoutKind.Sequential)]publicstructMyStruct{[MarshalAs(UnmanagedType.U1)]publicboolTest;}现在,当我打电话时,varmystruct=newMyStruct();varhandle=GCHandle.Alloc(mystruct,GCHandleType.Pinned);我收到错误“对象包含非原始数据或不可blittable数据